package com.xunyin.modules.couponnew.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.xunyin.domain.BaseDomain;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 会员卡券表
 * <p>
 * Created by xunyinyunshang <3594419785@qq.com>
 * CopyRight 讯音云商 https://www.tonetn.com
 */
@Data
@TableName("mt_user_coupon")
@ApiModel(value = "MtUserCoupon对象", description = "会员卡券表")
public class MtUserCoupon extends BaseDomain {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("自增ID")
    @TableId(value = "ID", type = IdType.AUTO)
    private Integer id;

    @ApiModelProperty("编码")
    private String code;

    @ApiModelProperty("券名称")
    private String name;

    @ApiModelProperty("券类型，C优惠券；P预存卡；T集次卡; H小时卡;  N次数卡")
    private String type;

    @ApiModelProperty("效果图")
    private String image;

    @ApiModelProperty("券组ID")
    private Integer groupId;

    @ApiModelProperty("券ID")
    private Integer couponId;

    @ApiModelProperty("用户手机号码")
    private String mobile;

    @ApiModelProperty("用户ID")
    private Integer userId;

    @ApiModelProperty("使用店铺ID")
    private Integer storeId;

    @ApiModelProperty("面额")
    private BigDecimal amount;

    @ApiModelProperty("余额")
    private BigDecimal balance;

    @ApiModelProperty("状态：A：未使用；B：已使用；C：已过期; D：已删除；E：未领取")
    private String status;

    @ApiModelProperty("使用时间")
    private Date usedTime;

    @ApiModelProperty("创建时间")
    private Date createTime;

    @ApiModelProperty("更新时间")
    private Date updateTime;

    @ApiModelProperty("过期时间")
    private Date expireTime;

    @ApiModelProperty("最后操作人")
    private String operator;

    @ApiModelProperty("导入UUID")
    private String uuid;

    @ApiModelProperty("订单ID（订单号15位数表示本地生成的，其它位数表示美团点评或抖音接口生成的）")
    private String orderId;

    @ApiModelProperty("是否有过期时间 0表示没有，1表示有")
    private Integer isExpire;

    @ApiModelProperty("卡券类型-小时卡特有属性,设置小时数")
    private Integer hourCount;

    @ApiModelProperty("卡券类型-小时卡特有属性,剩余小时数")
    private BigDecimal remHourCount;

    @ApiModelProperty("卡券类型-次数卡(次卡)特有属性,可使用总次数")
    private Integer useableCount;

    @ApiModelProperty("卡券类型-次数卡(次卡)特有属性,每次可使用小时数")
    private Integer everyUseableHourCount;

    @ApiModelProperty("卡券类型-次数卡(次卡)特有属性,剩余可使用次数")
    private Integer remUseableCount;

    @ApiModelProperty("卡券类型-优惠券特有属性,满多少金额可用规则")
    private BigDecimal reachMoney;

    @ApiModelProperty("是否给推荐人赠送，A：是；D：否")
    private String refGive;

}
